Add Synchronization 2 tutorial series #339
Open
gpx1000 wants to merge 5 commits into
Open
Conversation
…pics Introduce comprehensive Synchronization 2 tutorial covering modern Vulkan synchronization patterns. Add chapters on dependency anatomy, pipeline barriers, timeline semaphores, frame-in-flight architecture, async compute, transfer queues, dynamic rendering sync, host image copies, and synchronization validation. Include practical examples from Simple Engine and guidance on debugging with validation layers and interpreting VUIDs.
Update all xref links to use absolute paths prefixed with 'Synchronization/' instead of relative paths. Correct image references to use absolute paths starting with '/images/'. This ensures proper navigation between chapters and correct image rendering across the Synchronization tutorial series.
SaschaWillems
requested changes
Apr 19, 2026
Collaborator
There was a problem hiding this comment.
Did a first review run and added comments to the documentation where possible.
The information presented here is great, I'm just not sure if it's the best idea to have this as a separate part of the tutorial.
Here are some random additional thoughts that we could discuss:
- This duplicates some information we already have in the tutorial and/or the guide
- https://docs.vulkan.org/guide/latest/extensions/VK_KHR_synchronization2.html
- https://docs.vulkan.org/guide/latest/synchronization_examples.html
- Dynamic rendering, frames in flight and others are already used in the base tutorial
- This is actually an issue (I see with this), as it might also make maintaining the tutorial hard(er)
- It's heavily based on the simple game engine part of the tutorial
- So it at least should come after that part of the tutorial (in the navigation)
- It should have a few more links to existing resources, esp. the spec
- It could use some more images, some chapters are text only and feel like walls of text
So my thought after reading this was "Why a separate chapter, why not integrate this into the tutorial right away?"
…tion tutorial Update all Markdown code block language identifiers from `[,c++]` to `[,cpp]` throughout the Synchronization tutorial series. Add section on identifying dedicated compute/transfer queues with code examples. Fix typo in function name reference (vkCmdPipelineBarrier2 → vk::CmdPipelineBarrier2). Add warning about eConcurrent performance impact on images. Clarify present operation binary semaphore requirement. Add note about WSI limitations with timeline semaphores. Include tip about using vkconfig for validation setup. Update section heading and VUID example number.
Introduce summary and final thoughts for the Anatomy of a Synchronization Dependency series. Add barrier types comparison table covering global memory, buffer memory, and image memory barriers with their purposes and key structures. Include navigation links to previous and next chapters in the Synchronization tutorial series.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
with validation and advanced topics.
Introduce comprehensive Synchronization 2 tutorial covering modern Vulkan synchronization patterns. Add chapters on dependency anatomy, pipeline barriers, timeline semaphores, frame-in-flight architecture, async compute, transfer queues, dynamic rendering sync, host image copies, and synchronization validation. Include practical examples from Simple Engine and guidance on debugging with validation layers and interpreting VUIDs.